1. Field of the Invention
The present invention relates to methods and apparatus having utility in switched data communication, and more particularly, to methods and apparatus for measuring operational parameters such as words received and/or words transmitted by the ports of a fibre channel switch (FC switch).
2. Description of the Related Art
The fibre channel standard is a high-performance serial interconnect standard that is designed for bi-directional, point-to-point communication between devices, such as servers, storage systems, workstations, switches, and hubs. The FC standard offers a variety of benefits over other link level protocols, including efficiency, high performance, scalability, simplicity, ease of use and installation, and support for popular high level protocols.
Fibre channel employs a topology known as a xe2x80x9cfabricxe2x80x9d to establish connections, or paths, between ports. A fabric is a network of one or more FC switches for interconnecting a plurality of devices without restriction as to the manner in which the FC switch, or switches, can be arranged. A fabric can also include a mixture of point to point and arbitrated loop topologies.
In fibre channel, a path is established between two nodes, where the path""s primary task is to transport data, in-band from one point to another at high speed with low latency, while performing only simple error detection. FC switches provide flexible circuit/packet switched topology by establishing multiple simultaneous point-to-point connections. Because these connections are managed by the FC switches, or xe2x80x9cfabric elementsxe2x80x9d rather than by the connected end devices or xe2x80x9cnodesxe2x80x9d, in-band fabric traffic management is greatly simplified from the perspective of the end devices.
A fibre channel fabric device, including its node port or xe2x80x9cN_portxe2x80x9d, is connected to the fabric connection by way of an F_port. The N_port establishes a connection to a fabric element (e.g., a FC switch) that has a fabric port or a F_port. FC switches also include expansion ports, known as E_ports, that interconnect to other FC switches.
Devices attached to the fabric require only enough intelligence to manage the connection between an N_port and a F_port. Fabric elements include the intelligence to handle routing, error detection and recovery and similar management functions.
A FC switch is a multi-port device where each F_port manages a simple point-to-point connection between itself and its attached device or system. Each F_port can be attached to one of a number of different devices, including a server, a peripheral device, an I/O subsystem, a bridge, a hub, or a router. A FC switch can receive a connection request from one F_port and automatically establish a connection to another F_port. Multiple data transfers happen concurrently through the multiple F_port FC switch.
A key advantage of switched technology is that it is xe2x80x9cnon-blockingxe2x80x9d in that once a connection is established through the FC switch, the bandwidth that is provided by that connection is not shared. Hence, the physical connection resources, such as copper wiring and fiber optic cabling, can be more efficiently managed by allowing multiple users to access the physical connection resources as needed.
Switched communication systems work most efficiently when the FC switch resources are allocated efficiently. In other words, in a multiple F_port FC switch, each of the F_ports desirably processes an equitable amount of data traffic. When one connection through the FC switch absorbs an unbalanced amount of traffic, traffic delays are caused even while the FC switch possesses unused resources (i.e., unused F_ports and connection resources). The end result of an unbalanced FC switch is unnecessary high average latency in processing traffic as caused by bottlenecked connections within the FC switch.
A system user desires knowledge about in-band data traffic that flows through a FC switch, thus enabling the user to efficiently manage the data traffic and avoid bottlenecks. A FC switch is most efficiently used if the traffic load through that FC switch is reasonably balanced. When a particular F_port is heavily used by a single host or destination, that F_port is not available to handle other traffic. Similarly, it is desirable to have knowledge about the type of data traffic flowing between a pair of F_ports.
In a fibre channel system, for example, the data traffic may comprise any of a number of FC 4 specified frame types. Knowledge of the frame type can be used to configure and reconfigure the communication network for more efficient utilization of resources.
A need exists for an in-band method and device for measuring operational parameters, such as data transmitted and data received relative to the F_ports of an FC switch.
As used herein, the term xe2x80x9cout-of-bandxe2x80x9d relates to the use of an Ethernet-type of interface to achieve FC switch management.
As used herein, the term xe2x80x9cin-bandxe2x80x9d relates to the native interface that a fabric, including a FC switch, provides for the transmission of data through the fabric; for example. between a host, or host client and various types of devices, such as RAID arrangements, servers and workstations.
The method and apparatus of this invention provides in-band protocols that allow a host client to specify and to retrieve specified F_port statistics, such as bandwidth, error statistics, and various other operational characteristics. The protocol includes command definitions, FC monitor information, information record formats, and statistical counter record formats.
In accordance with the invention, the F_ports of a FC switch have a number of statistical counters or port counters associated therewith. These port counters are used to monitor operational parameters, such as bandwidth, error statistics, and various operational characteristics of the associated F_port.
Conventionally, the content of these port counters would be extracted from the FC switch using out-of-band techniques, and using protocols, such as simple network management protocol or SNMP (UDP protocol), and Network Management Request/Resonse Units (NMRU). That is, in-band protocols were not provided for transferring the count content of these port counters to an external host client.
In addition, in view of the large number of statistical counters that are provided for each F_port, and in view of the large number of F_ports within each FC switch, the volume of data that is returned to a host client in accordance with the invention is efficiently handled so as not to overrun the host client ability to store the data, and so as to make efficient use of the FC switch data transfer constructs.
In accordance with this invention, an in-band method/apparatus is provided for reporting FC port operational statistics.
In accordance with this invention, a host or host client specifies the format of set monitor commands, or monitor requests that are provided to a management director that is within the FC switch. This format allows a host client program to (1) specify the number of port counters that are to be monitored, (2) identify whether external ports or an internal port are to be monitored, and (3) specifically identify the ports that are to be monitored.
In accordance with this invention, the format of monitor information records or monitor responses that are returned from the FC switch to the host client is also defined. This monitor response format specifies a sequence counting scheme that guarantees the delivery of port statistics that provide a mechanism to concatenate multiple monitor records, and that provides an identification of each multiple monitor record that is transmitted to the host client.
In accordance with this invention, the time that has elapsed since the last reading of port statistics is operative to control the method/apparatus of the invention to issue a read port statistics command to the FC switch.
In an embodiment of the invention, a host client first issues a Set Monitor Command to a management director that is within the FC switch. This Set Monitor Command specifies a range of external ports that the management director is to monitor, and then report port statistics. The Set Monitor Command also contains a list of the statistical counters that are to be monitored for each port. Once the Set Monitor Command is received, accepted, and then processed by the FC switch, the management director within the FC switch sends an accept signal to the host client indicating that monitoring of the port counters will be performed as requested by the Set Monitor Command. This accept signal can be sent via an FC 4 status signal.
Later, and at a time that is defined by the host client, a Read Port Statistics Command is issued by the host client to the management director that is within the FC switch. The management director responds to this Read Port Statistics Command, and operates to compile a list of the statistical counters per port (using the information previously supplied by the Set Monitor Command). A Monitor Information Record is then assembled by the management director, this record consisting of (1) one header record, and (2) an individual port information record and one or more statistical counter records for each of the ports that are specified by the Set Monitor Command.
This Monitor Information Record is then transmitted by the FC switch to the host client as in-band data, along with a final FC 4 status byte.
It is to be noted that the techniques above described are operable in accordance with this invention relative to any port; for example, but without limitation thereto, E_ports, F_ports and internal ports.
These and other features and advantages of the invention will be apparent to those of skill in the art upon reference to the following detailed description, which description makes reference to the drawing.